package br.org.acessobrasil.portal.action.itemConteudo;

import org.apache.log4j.Logger;
import org.springframework.transaction.annotation.Transactional;

import br.org.acessobrasil.portal.modelo.ItemConteudo;
import br.org.acessobrasil.portal.modelo.Usuario;
import br.org.acessobrasil.portal.vista.FormularioItemConteudo;

@Transactional
public class DespublicarItemConteudoAction extends BaseItemConteudo{

	private static final long serialVersionUID = -5456072858418564799L;

	private static Logger logger = Logger.getLogger(DespublicarItemConteudoAction.class);
	
	public DespublicarItemConteudoAction() {
	}

	@Override
	public String execute() throws Exception {
		Usuario usuario = getUsuarioLogado();
		ItemConteudo itemConteudo = getItemConteudo();
		try {
			itemConteudo = getItemConteudoFacade().despublicar(itemConteudo.getNuItemConteudo(), usuario);	
			setItemConteudo(itemConteudo);
			String formulario;
			if(getUsuarioLogado().isModoDesenvolvimento()){
				formulario = FormularioItemConteudo.gerarFormularioHtml(itemConteudo,"editarItemConteudo.action",true);
			}else{
				formulario = FormularioItemConteudo.gerarFormularioHtml(itemConteudo,"editarItemConteudo.action",false);
			}
			
			formulario += gerarHtmlRelatorio(itemConteudo);
			setFormEditar(formulario);
		}catch(Exception e){
			usuario.addActionError(e.getMessage());
			logger.error("erro ao despublicar item", e);
		}
		return SUCCESS;
	}
}
